Traditional video decoding schemes utilize a serial, single threaded approach to accessing an encoded video stream from disk, decoding the accessed stream, and providing the decoded stream for display. FIG. 1 is a block diagram depicting an example of a single threaded video decoding system. A single threaded video decoding system 102 parses (accesses) encoded video stream data 104 from one or more data stores 106. The single threaded video decoding system 102 decodes the accessed encoded stream data 104 and provides the decoded frames to a video display 108.
The traditional video decoding scheme utilizes a single processor, where the parsing of the encoded stream data, the decoding of the encoded stream data, and the rendering of the decoded frames are performed in series. The single processor reads the stream data 110, transmits the stream data to the CPU or a hardware decoder for processing 112, waits for decoding to complete if the decoding is performed using a hardware decoder 114, and pushes the decoded data to a display 116.